package model

import (
	"time"
)

// Cart 购物车模型
type Cart struct {
	ID          int64     `gorm:"column:id;primaryKey;autoIncrement" json:"id"`
	UserID      int64     `gorm:"column:user_id;not null" json:"userId"`              // 用户ID
	ProductID   int64     `gorm:"column:product_id;not null" json:"productId"`        // 商品ID
	ProductName string    `gorm:"column:product_name;size:255" json:"productName"`    // 商品名称
	SkuID       *int64    `gorm:"column:sku_id" json:"skuId"`                         // SKU ID
	SkuName     *string   `gorm:"column:sku_name;size:255" json:"skuName"`            // SKU名称
	Num         float64   `gorm:"column:num;not null" json:"num"`                     // 数量
	Price       float64   `gorm:"column:price;not null" json:"price"`                 // 单价
	ImageURL    string    `gorm:"column:image_url;size:255" json:"imageUrl"`          // 商品图片
	Selected    int       `gorm:"column:selected;not null;default:1" json:"selected"` // 是否选中：1-是，0-否
	AddDate     time.Time `gorm:"column:add_date;autoCreateTime" json:"addDate"`      // 创建时间
	LastDate    time.Time `gorm:"column:last_date;autoUpdateTime" json:"lastDate"`    // 更新时间
}

// TableName 指定表名
func (Cart) TableName() string {
	return "cart"
}
